package cn.iocoder.yudao.module.contract.controller.admin.exportContract.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 出口合同 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ExportContractRespVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17967")
    @ExcelProperty("编号")
    private Long id;

    @Schema(description = "合同类型", example = "1")
    @ExcelProperty("合同类型")
    private String type;

    @Schema(description = "合同流水号")
    @ExcelProperty("合同流水号")
    private String contractNo;

    @Schema(description = "合同日期")
    @ExcelProperty("合同日期")
    private String audat;

    @Schema(description = "合同号码")
    @ExcelProperty("合同号码")
    private String bstnk;

    @Schema(description = "销售组织编码")
    @ExcelProperty("销售组织编码")
    private String vkorg;

    @Schema(description = "销售组织名称")
    @ExcelProperty("销售组织名称")
    private String vkorgt;

    @Schema(description = "销售方编码")
    @ExcelProperty("销售方编码")
    private String bukrs;

    @Schema(description = "销售方名称")
    @ExcelProperty("销售方名称")
    private String butxt;

    @Schema(description = "售达方编码")
    @ExcelProperty("售达方编码")
    private String kunnr;

    @Schema(description = "售达方名称", example = "张三")
    @ExcelProperty("售达方名称")
    private String kname;

    @Schema(description = "付款条件编码")
    @ExcelProperty("付款条件编码")
    private String paymentCode;

    @Schema(description = "付款条件解释", example = "张三")
    @ExcelProperty("付款条件解释")
    private String paymentName;

    @Schema(description = "经销商编码")
    @ExcelProperty("经销商编码")
    private String zzlifnr;

    @Schema(description = "经销商名称")
    @ExcelProperty("经销商名称")
    private String zzlifnrt;

    @Schema(description = "装运期限")
    @ExcelProperty("装运期限")
    private String vdatu;

    @Schema(description = "国际贸易条件")
    @ExcelProperty("国际贸易条件")
    private String inco1;

    @Schema(description = "国际贸易条件2")
    @ExcelProperty("国际贸易条件2")
    private String inco2;

    @Schema(description = "包装方式编码")
    @ExcelProperty("包装方式编码")
    private String packingCode;

    @Schema(description = "包装方式名称", example = "赵六")
    @ExcelProperty("包装方式名称")
    private String packingName;

    @Schema(description = "收款银行id", example = "22275")
    @ExcelProperty("收款银行id")
    private Long bankId;

    @Schema(description = "收款银行名称", example = "李四")
    @ExcelProperty("收款银行名称")
    private String bankName;

    @Schema(description = "销售凭证（多个）")
    @ExcelProperty("销售凭证（多个）")
    private String vbelns;

    @Schema(description = "总金额")
    @ExcelProperty("总金额")
    private String totalMoney;

    @Schema(description = "合同html")
    @ExcelProperty("合同html")
    private String contractHtml;

    @Schema(description = "合同文件url", example = "https://www.iocoder.cn")
    @ExcelProperty("合同文件url")
    private String contractFileUrl;

    @Schema(description = "合同pdf文件url", example = "https://www.iocoder.cn")
    @ExcelProperty("合同pdf文件url")
    private String contractPdfUrl;

    @Schema(description = "下载次数", example = "12708")
    @ExcelProperty("下载次数")
    private Integer downloadCount;

    @Schema(description = "打印次数", example = "13810")
    @ExcelProperty("打印次数")
    private Integer printCount;

    @Schema(description = "附件id-多个,隔开")
    @ExcelProperty("附件id-多个,隔开")
    private String fileIds;

    @Schema(description = "扫描件附件id-多个,隔开")
    @ExcelProperty("扫描件附件id-多个,隔开")
    private String scanFileIds;

    @Schema(description = "交货冻结释放推送 -1推送失败 0未推送 1已推送 2无须推送")
    @ExcelProperty("交货冻结释放推送 -1推送失败 0未推送 1已推送 2无须推送")
    private String isPushRelease;

    @Schema(description = "异常原因")
    @ExcelProperty("异常原因")
    private String abnormalCause;

    @Schema(description = "状态 0待生成 1已生成 2已上传", example = "2")
    @ExcelProperty("状态 0待生成 1已生成 2已上传")
    private String status;

    @Schema(description = "订单状态  0已创建 1已同步 2已生成合同 3作废  4已回收	", example = "1")
    @ExcelProperty("订单状态  0已创建 1已同步 2已生成合同 3作废  4已回收	")
    private String orderStatus;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}